package com.littleII.enumber;




/**
 * 下载类型的枚举类。暂定类型为：电信 | 联通/网通 | 移动/长宽 | 其它
 * @author littleII
 *
 */
public enum DownloadType {
	//电信
	Telecom(0,"电信"),
	//联通/网通
	UnicomNetcom(1,"联通/网通"),
	//移动/长宽
	MobileAspect(2,"移动/长宽"),
	//其它下载点
	Other(3,"其它");

	private int id;
	private String label;	//短标签
	private static DownloadType[] allType = DownloadType.class.getEnumConstants();	//所有的类别

	/**
	 * @return the id
	 */
	public int getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(int id) {
		this.id = id;
	}

	/**
	 * @return the label
	 */
	public String getLabel() {
		return label;
	}

	/**
	 * @param label the label to set
	 */
	public void setLabel(String label) {
		this.label = label;
	}

	/**
	 * 构造方法
	 * @param id
	 * @param label 短标签
	 */
	private DownloadType(int id, String label) {
		this.id = id;
		this.label = label;
	}
	/**
	 * 重写toString方法
	 */
	@Override
	public String toString() {
		return label;
	}

	/**
	 * 根据一个字符串获取下载点类型
	 * @param label
	 * @return
	 */
	public static DownloadType getSoftTypeByLabel(String label) {
		//遍历所有的下载点类型,部分一个下载点包含几种类型,"/"分割
		for (DownloadType type: allType) {
			for(String t : type.getLabel().split("/")){
				if(label.indexOf(t)!=-1){
					return type;
				}
			}
		}
		return null;
	}
}
